#include "GPIO.h"

void GPIO::mode(GPIO_mode mode)
{
    gpio_init(gpio_pin, mode);
}

void GPIO::write(uint8_t data)
{
    gpio_write(gpio_pin, data);
}

void GPIO::toggle()
{
    gpio_toggle(gpio_pin);
}

uint8_t GPIO::read()
{
    return gpio_read(gpio_pin);
}

uint16_t GPIO::adc()
{
    return adc_pin_read(gpio_pin);
}

void GPIO::attachInterrupt(void (*callback)(void), EXIT_mode mode)
{
    gpio_interrupt_init(gpio_pin, callback, mode);
}
